home *** CD-ROM | disk | FTP | other *** search
- 7 Oct 1997 2.0.3
- -------------------------
-
- mSQL
- ====
-
- o Fixed cpp problem on build (compilation failed on some systems)
- o Fixed infinite loop problem when updating an index value using
- the index as the condition
- o Fixed core dump when using a sub condition in conjunction with
- and index for row selection
- o Replaced hard coded make with $(MAKE) in makegen macros
-
-
-
- Lite / W3-mSQL
- ==============
-
- o Fixed several queries in msql-auth that did not include the
- namespace to which they applied.
-
-
-
-
- 22 Sep 1997 2.0.2
- -------------------------
-
- mSQL
- ====
-
- o Rolled in Bob Sum's patches
- o Fixed translation of missing numerci values to NULL in msqlimport
- o Fixed floating point rounding problems with money values
- o Fixed denial of service attack problem with malformed protocols
- o Fixed core dump if overflow buffers of a TEXT field extend
- beyond the mapped region during an update
- o Fixed core dump when query string is longer than the debug buffer
- o Fixed SNI security concerns regarding buffer overflows
- o Added forward name lookup testing of hostnames during ACL checks
- o Fixed handling of reals, money and time in DISTINCT queries
- o Fixed server memory leak in certain mmap errors
- o Fixed memory leak in API library for empty selects
- o Fixed problems with updating and index where the index is in
- use by the update query (i.e. in the where clause)
- o Changed the memory syncher to force a remap rather than using
- msync as Linux appears to not sync the mapped regions.
- o Fixed an mmap region leak
- o Fixed problem where connection could be reached due to errors
- causing session to abort
- o Fixed problem with TCP Port number in bcmp during host_lookup
- (when host_lookup = false). Thanks for the note Dirk.
-
- # Code branch for experimental development
-
-
-
- Jun 1997 2.0.1
- -------------------------
-
- mSQL
- ====
-
- o Modified select loop range handling to avoid potential
- infinite loop searching for active sockets
- o Forced a mode of 0777 on the UNIX socket just in case
- o Rolled in completed Win32 portability
- o Fixed comparison of negative time/date values
- o Fixed matching of null values to 0
- o Fixed handling of null values in conditions other than
- equals and not-equals
- o Fixed value overwriting when updating the value of a TEXT
- field that was originally set to NULL
- o Fixed integrity of the overflow buffer on deletion of table
- Rows containing NULL text fields.
- o Fixed non-unique index error when updating a row using the
- index for row selection
- o Fixed wierd "field cannot be null" errors when inserting valid
- data into not-null fields.
- o Fixed CHAR and TEXT comparison problem where the in-table
- value fills the entire field width and the literal value
- is longer than the field width (sub string match problem).
- o Fixed generation of values for _sysdate and _systime
- o Fixed handling of system variable like _systime for queries
- on empty tables
- o Fixed problem in msqlDateOffset()
- o Rolled in Bob Sum's *LIKE fixes. Some of the NULL handling
- code replaces the above mentioned NULL fixes.
-
-
-
-
-
- Lite / W3-mSQL
- ==============
-
- o Fixed definitions of HAVE_DYNAMIC
- o Added performance optimisations
- o Fixed strseg() handling of strings shorter than the specified
- substring.
-
-
-
- Misc
- ====
-
- o Updated doco for 2.0.1
- o RTF version of documentation replaced by HTML. The
- translation is still very rough and the PostScript version
- should be used where possible.
- o Added testing for sys/timeb.h to the configure script
-
-
-
-
- 8 Jun 1997 2.0 Release
- -------------------------
-
- mSQL
- ====
-
- o Fixed minor read overflow in AVL tree initialisation
- o Further optimised index selection during candidate setup
- o Fixed memory leak in sub-condition handling
- o Fixed bug in handling of reversed ident conds in inner loop
- condition when using an index for the inner loop of a join
- o Fixed unique index handling problem
- o Fixed bug in comparison with some system variables
- o Fixed pre/post increment problem of sequences during query
- execution
- o Fixed handling of TIME and DATE fields in msqldump
- o Fixed core dump where and index fields is compared to an IDENT
- values who's value is NULL during a join.
- o Fixed core dump in certain situations if the value passed to
- an index based condition is longer than the field length.
- o Fixed bug in the sorting of real values
- o Fixed obscure bug in resetting an index value to the same value
- if that index was used for the lookup and the index node
- contained duplicate values
- o Optimised index updates so that indices are only modified if
- the value has actually changed
- o Made cache invalidation consistent
- o Added "copy" and "move" to msqladmin
- o Added section based name spaces to the config routines
- o Added further configuration output to "msqladmin version"
- o Rewrote msqlimport from scratch
- o Added date / time format routines to the API library
-
-
-
- Lite / W3-mSQL
- ==============
-
- o Added .shtml as a valid HTML suffix for W3-mSQL processed files.
- o Added @variable for accessing global symbols from a local
- namespace (e.g. using globals from within a function)
- o Fixed core dump when adding an empty function to a lite library
- o Fixed double contraction of \\ escapes
-
-
-
-
- 8 May 1997 2.0 Beta 7
- ----------------------
-
- mSQL
- ====
-
- o Added test for "make target" before performing a build
- o Fixed unique index handling if updating the index value with
- itself
- o Fixed access control for UPDATE queries
- o Fixed core dump if _rowid > numRows given in a select
- o Fixed problem with incorrect precision in update of real fields
- o Forced debug initialisation messages to stderr
-
-
- Lite / W3-mSQL
- ==============
-
- o Fixed handling of multi-value web form data (i.e. multi-select
- lists) during the casting of the values to an array.
- o Upgraded limits in W3-mSQL passed variable lengths
- o Fixed initialisation of symbol table prior to checking W3-Auth
- based access control
-
-
- 11 April 1997 2.0 Beta 6
- -------------------------
-
- mSQL
- ====
-
- o fixed rand() srand() portability macros
- o added strptime check to autoconf script
- o added strptime function to lib mSQL if needed
- o completed Win32 porting of client API and client apps
- o completed Win32 porting of server although indexing still
- needs some debugging.
- o fixed per field cache pointer during tmp table creation (core
- dump when ordering the result of a join with a TEXT field)
- o fixed handling of 8 bit char sets in regexp matching
- o fixed ident handling in joins (particularly in self joins)
- when multiple idents used in the comparison clause
- o fixed timestamp bug where timestamps were reset in a condition
- o fixed NOT NULL testing for NULL fields
- o fixed NOT NULL testing for NULL indices
- o fixed resetting overflow table mapping length to 0 when
- dropping a table cache entry in loadTableDef()
- o fixed potential leak of mapped region in initTable()
- o updated client library to use MSQL_DEBUG not MINERVA_DEBUG
- o updated libmsql to use stderr for debugging
- o added short-circuits for condition testing (i.e. bail as soon
- as we can tell the result of and AND or an OR etc)
- o fixed leak of overflow buffers when deleting rows containing
- TEXT fields
- o added soundex based matching using the SLIKE operator
- o fixed handling on blank date fields (ie. '')
- o fixed LIMIT handling
-
-
- Lite / W3-mSQL
- ==============
-
- o More performance upgrades
- - Symbol names no-longer malloced
- - Symbol values < 10 bytes long no longer malloced
- - Results show 300% performance increase in virtual
- machine operating speed
- o Fixed string length mis-match between locally created and
- passed variable values (e.g. html form data etc)
- o Forced flushing of output after an echo() as a call to
- system() following a non-flushed echo() could cause the
- output order to skew
-
-
-
- 20 March 1997 2.0 Beta 5
- --------------------------
-
- mSQL
- ====
-
- o Rewrote regression test suite to obtain better code coverage
- o Added real value precision handling to solve real number
- rounding errors. The desired precision is now stored with
- the value in the database table.
- o Added code to translate system variables (eg _rowid) into
- "real" table fields during creation of a result table. This
- allows the sysvar value from the original table to be carried
- through a DISTINCT or an ORDER rather than it being incorrectly
- generated from the result table.
- o Added ability to order a result on the value of a system
- variable
- o Added more system diagnostics for low-level errors
- o Added more file ownership testing (for those that chown the
- data file and don't get it correct)
- o Added /dev/tty test in makegen macros. I though expecting
- /dev/tty to exists was fair but apparantly not so on IRIX
- 5.3.
- o Added README.sco for build details on SCO
- o Added msqlGetSequenceInfo() to API and server
- o Added support for showing sequence structure to relshow
- o Added support for dumping current sequence status to msqldump
- o Added support for UINT data type
- o Added support for DATE data type
- o Added support for TIME data type
- o Added support for MONEY data type
- o Added mmap region syncing for data files, overflow files and
- the mapped regions of the AVL index files. Frequency of sync's
- is configured in msql.conf.
- o Added support for sequences in relshow (sequence creation at
- the current sequence value)
- o Added msqlGetSequenceInfo() API function
- o Added _systime system variable
- o Added mSQL time and date functions to the API library. These
- allow for conversion from the text representations used by
- mSQL into a valid UNIX time_t value.
- o _sysdate system variable now returns a date type value of the
- current data on the server machine (not the UNIX time value
- as previously returned)
- o Rows are now padded to an 8 byte boundary for memory alignment
- reasons (mmap() access to the row headers structures on Alpha)
- o Row header timestamp now time_t rather than int for machines
- that use long time values (e.g. the Alpha)
- o Fixed memory leak in yyprev symbol handling
- o Fixed wild free in lexer symbol handling (core dump)
- o Fixed timestamp overwrite problem for the Alpha
- o Fixed relshow core dump for invalid index name
- o Fixed core dump in AVL code when accessing an unaligned real
- (i.e. a double) value in the tree node
- o Fixed bad handling of numeric index types by moving the field
- value auto-casting earlier in the control flow
- o Fixed AVL Lookup problem for indices comprised of real values
- o Fixed compound index handling bug (key could be incorrectly
- formatted on lookup resulting in no results).
- o Fixed problem with ident comparisons on single table selects
- o Fixed problem with ident to sysvar comparisons on single table
- selects (e.g. select * from foo where f1 = _rowid)
- o Fixed wild free problem for ident values in join code (core dump)
- o Fixed memory over-read on some TEXT field operations
- o Fixed data hole free list handling
- o Fixed multiple increment of sequence value (i.e. select _seq
- from foo would increment the seq for each row)
- o Fixed multiple increment of seq in conditions (i.e.
- "select _seq from foo where id > _seq" would increment
- the sequence twice (once for each call to getSysVar() )
- o Fixed handling of system variables in join results
- o Fixed 8 byte alignment problems in the AVL tree code. The
- entire server is now 64bit clean and passes the
- new regression test on an Alpha under OSF/1
-
-
-
- Lite / W3-mSQL
- ==============
-
- o Rewrote all symbol table handling code to use a 64 way
- hash table for symbol lookups. Also added a short-cut for
- symbol searches. General performance increase in every aspect
- of the language results from this modification.
- o Added support for non-local authentication databases via the
- msql.conf file.
- o Added support for HTML comments and other non-Lite tags that
- start with <!
- o Adding hooks for the mSQL time and date routines to mod_std
- o Added getTzOffset() to mod_std for hacking time values
- o Added toksplit() to mod_std
- o Added literal symbol re-use code
- o Fixed auto-casting problems with the new uint type
- o Fixed auto-base-conversion (i.e. octal & hex). Conversions
- now only performed on literals, not on variables during a cast
- or an auto-cast
- o Fixed off-by-one error in count operator for text strings
- o Fixed regression test results to reflect the current test
- output
- o Fixed space handling in urlEncode()
- o Fixed problem with string truncation in sub()
- o Fixed problem with handling some C styled comments
- o Fixed core dump when trying to cast an array to a scalar type
- o Fixed off by one error in array literal element length
- o Fixed handling of array indexing in text expansion (e.g.
- in echo() strings) when array indexed by a variable value
- o Fixed auto casting for int and uint in printf formats
-
-
-
-
- Misc
- ====
-
- o Fixed a couple of bugs in the time library for date/time handling
- o Added errno.h to the headers searched in setup when looking for
- sys_errlist (for NetBSD 1.2)
- o Added stdlib.h to the headers searched in setup when looking for
- ssize_t (for Irix 6.2)
- o Started total re-working of the documentation kit.
- o Code has been "linted" within and inch of its life (using
- gcc -Wall)
-
-
-
- 1 February 1997 2.0 Beta 4
- -----------------------------------
-
- Lite / W3-mSQL
- ==============
-
- o Added support for Multi-Select form data to W3-mSQL
- o Added typeof() function to Lite standard module
- o Fixed bug in expandText() handling mis-defined symbols
- o Added work-around for the gnu getopt() library
- o Added work-around for the gnu atoi() function
- o Added 'uint' type handling and "%u" to printf()
- o Fixed problem with fuction call arg count on some machines
- o Fixed last character match problem in tr()
- o Fixed a few doco bugs in the mSQL module doc's
- o Fixed up type checking during a cast
- o Fixed a problem if the first element of an array is not a CHAR val
- o Fixed urlEncode problem for the + character
-
-
- mSQL
- ====
-
- o Fixed token destruction in error reporting from the parser
- o Fixed documentation example for sequence creation
- o Fixed core dump in mSQL monitor on overly large error results
- o Fixed inaccurate initialisation of ident segments in msqlCreateIdent
- o Added support for MSQL_CONF_FILE environment variable
- o Fixed looping problem in wild-card delete
- o Fixed some _more_ doco bugs
- o Fixed problem with comparison of TEXT fields with NULL
- o Fixed problem with the matchVarChar() function when comparing
- values with TEXT fields
- o Fixed bug in LIKE and CLIKE for matching multiple % wildcards
- to an empty string
- o Fixed a possible problem with the static size of the connection
- array
-
-
-
- 14 January 1997 2.0 Beta 3
- -----------------------------------
-
- o Fixed bugs in table join logic
- o Fixed bug that allowed an update to set a non-unique value
- for a unique index
- o Completed dynamic loading of module object code in Lite / W3-mSQL
- o Fixed some documentation errors in the HTML manual
- o Fixed non-flushed output in user prompts from msqladmin and msql
- o Fixed problem with fields being inserted with the NULL flag set
- o Added a 0 exit val to msqldump
- o Fixed some API function prototypes
- o Added strdup() to the malloc test code (although we don't
- use the malloc library anymore for in-house code testing)
- o Fixed memory leaks in parser, msqlServerDelete, QUIT processing,
- join condition lists, and join ident fields.
- o Wrote the mod_graph dynamic loaded graphing module for Lite &
- W3-mSQL.
- o Added optional W3-auth security. The file .w3-auth must now
- be created in the directory containing the requested file to
- enable W3-auth access control.
-
-
-
-
- 6 January 1997 2.0 Beta 2
- -----------------------------------
- o Fixed problem with deletion using an index for row selection
- (reshuffle of dup values in tree node caused getNext to skip
- a valid entry)
- o Fixed bug in bulk index creation where it was including
- non-active rows in the newly created index.
- o Added strncasecmp() for SVR4 people (so they can dodge the BSD lib)
- o Fixed bug in the AVL node swapping code wrt dup node lists.
- o Fixed core dump bug when DISTINCT used with an empty result
- table.
- o Fixed bug in the updating of CHAR fields.
- o Increased listen queue for UNIX socket to 128
- o Fixed bug in updateValues() where by a full field width char
- value would trash the active flag of the next field (i.e. NULL
- termination of the string).
- o Fixed param count test in Lite function calling.
- o Increased Lite VM performance by up to 20% by caching stack
- frames and other reuseable items.
- o mSQL Server performance increases
- - Removed some more malloc & bzero overhead
- - Added speedup for boxes without hardware multiply (like
- lots of the early SPARCs).
- - The above modifications produced a 20% faster "killer"
- result on a SPARC without hardware math.
- o Added support for symbolic Macros in modules
- o Started support for dynamic loading shared modules
-
-
-
- 16 December 1996 2.0 Beta 1
- -----------------------------------
- o Initial public beta release of the 2.0 code base.
-